package com.ly.count.room.transfer;


import com.ly.count.room.po.CPlusRoomUser;
import com.ly.count.room.vo.CPlusRoomUserVO;

public class RoomTransferHelper {


    // 私有静态变量，用于存储唯一的RoomTransferHelper实例
    private static volatile RoomTransferHelper instance;
    /**
     * 获取RoomTransferHelper的唯一实例
     *
     * @return RoomTransferHelper的实例
     */
    public static RoomTransferHelper getIns() {
        // 第一次检查，如果instance不为空，直接返回
        if (instance == null) {
            synchronized (RoomTransferHelper.class) {
                // 第二次检查，确保在多线程环境下只有一个实例被创建
                if (instance == null) {
                    instance = new RoomTransferHelper();
                }
            }
        }
        return instance;
    }
    /**
     * 将CPlusRoomUser对象转换为CPlusRoomUserVO对象
     * 此方法用于将数据模型CPlusRoomUser转换为视图模型CPlusRoomUserVO，
     * 以便在不同层次之间传递数据，或者在展示层以适合的方式呈现数据
     *
     * @param source CPlusRoomUser对象，包含房间用户的相关信息
     * @return CPlusRoomUserVO对象，封装了转换后的房间用户信息
     */
    public CPlusRoomUserVO toVO(CPlusRoomUser source){
        // 创建一个新的CPlusRoomUserVO对象
        CPlusRoomUserVO target = new CPlusRoomUserVO();

        // 将源对象的用户ID设置到目标对象中
        target.setUserId(source.getUserId());
        // 将源对象的房间ID设置到目标对象中
        target.setRoomId(source.getRoomId());
        // 将源对象的房间名称设置到目标对象中
        target.setRoomName(source.getRoomName());
        // 将源对象的创建时间设置到目标对象中
        target.setCreateTime(source.getCreateTime());

        // 返回填充完毕的CPlusRoomUserVO对象
        return target;
    }


}
